Fast Instruction Set Simulation Using LLVM-based Dynamic Translation

نویسندگان

  • Claude Helmstetter
  • Vania Joloboff
چکیده

In the development of embedded systems, Instruction-Set Simulators (ISS) plays an important role. When using an ISS, simulation speed is a significant issue. In this paper, we present a dynamic translation technique that uses the LLVM open-source compiler infrastructure to increase the simulation speed. Our dynamic translation technique translates hot basic blocks of the target instruction set into LLVM bitcode, and compiles LLVM bitcode into host binary code using the LLVM Just-In-Time (JIT) compiler. We have simulated the same programs using LLVM-based dynamic translation and using traditional dynamic translation to compare their performance. The experiments show that the dynamic translation based on LLVM increases simulation speed.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Automatic Generation of Assembly to IR Translators Using Compilers

Translating low-level machine instructions into higher-level intermediate representation (IR) is one of the central steps in many binary translation, analysis and instrumentation systems. Most of these systems manually build the machine instruction to IR mapping table needed for such a translation. As a result, these systems often suffer from two problems: (a) a great deal of manual effort is r...

متن کامل

ARM Instruction Set Simulation on Multi-Core x86 Hardware

Dynamic translation is a popular technique to build Instruction Set Simulators (ISS). The dynamic translation process must be fast or the translation overhead will outweigh the benefits of reusing code previously translated. In real hardware, decoding and execution are performed by separate units in parallel. With the arrival of multi-core x86 desktops, it is now possible to do translation and ...

متن کامل

The LLVM Instruction Set and Compilation Strategy

This document introduces the LLVM compiler infrastructure and instruction set, a simple approach that enables sophisticated code transformations at link time, runtime, and in the field. It is a pragmatic approach to compilation, interfering with programmers and tools as little as possible, while still retaining extensive high-level information from source-level compilers for later stages of an ...

متن کامل

Compiled low-level virtual instruction set simulation and profiling for code partitioning and ASIP-synthesis in hardware/software co-design

We present ongoing work and first results in static and detailed quantitative runtime analysis of LLVM byte code for the purpose of automatic procedural level partitioning and cosynthesis of complex software systems. Runtime behaviour is captured by reverse compilation of LLVM bytecode into augmented, self-profiling ANSI-C simulator programs retaining the LLVM instruction level. The actual glob...

متن کامل

Combined Use of Dynamic Binary Translation and SystemC for Fast and Accurate MPSoC Simulation

In this paper, we present a simulation strategy that tries to combine the speed of the binary translation based ISSes with the accuracy of the event driven simulators. To have an accurate timing behavior for an instruction set simulator based on binary translation, we had to first solve timing issues in processor modeling, second define fast and precise cache models, and third solve the synchro...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011